// 时间问题

#include <iostream>
using namespace std;

struct Time {
    int hour;
    int min;
    int sec;
};

Time GetTime();
bool ValidTime(Time t);
void WriteTime(Time t);

int main() {
    Time t = GetTime();
    if (ValidTime(t)) {
        WriteTime(t);
    } else {
        cout << "时间非法\n";
    }
    cout << "程序没时间了\n";
}

Time GetTime() {
    Time t;
    char colon;

    cout << "请按照 hour:min:sec 的格式输入事件\n"
        << "例如 5:14:43 或 8:33:14: ";
    cin >> t.hour >> colon >> t.min >> colon >> t.sec;

    return t;
}

bool ValidTime(Time t) {
    if (t.hour == 0 && t.min == 0 && t.sec == 0) {
        return false;
    }

    if (t.hour == 24 && t.min == 0 && t.sec == 0) {
        return true;
    }

    if (t.hour > 24 || t.hour < 0) {
        return false;
    }

    if (t.min < 0 || t.min > 59 || t.sec < 0 || t.sec > 59) {
        return false;
    }

    return true;
}

void WriteTime(Time t) {
    cout << "你输入的时间: "
        << t.hour << ":"
        << t.min << ":"
        << t.sec << " 是合法时间\n";
}

